
package br.edu.unipampa.clube;

import java.util.ArrayList;
        
public class Clube {
    private String nome;
    private Tecnico tecnico;
    private ArrayList<Jogador> listaDeJogadores;
    private ArrayList<Jogador> listaDeTitulares;
    private ArrayList<Jogador> listaDeReservas;
    private ArrayList<Jogador> listaDeJogadoresTitularesDaPartida;
    private ArrayList<Jogador> listaDeJogadoresReservaDaPartida;
    private Clube clubeQueEnfrenta;
    private Double dinheiroEmCaixa;
    private int vitoria;
    private int derrota;
    private int empate;
    private int forcaMedia;
    private int pontos;

    public Clube(String nome, Tecnico tecnico, ArrayList<Jogador> titulares,ArrayList<Jogador> reservas, Double grana){
        this.nome = nome;
        this.tecnico = tecnico;
        this.listaDeTitulares = titulares;
        this.listaDeReservas = reservas;
        this.listaDeJogadoresTitularesDaPartida = listaDeTitulares;
        this.listaDeJogadoresReservaDaPartida = listaDeReservas;
        this.listaDeJogadores = new ArrayList<Jogador>();
        this.listaDeJogadores.addAll(listaDeTitulares);
        this.listaDeJogadores.addAll(listaDeReservas);
        this.dinheiroEmCaixa = grana;
        this.forcaMedia = calculaForcaMedia();
    }

    private int calculaForcaMedia(){
        double media = 0;
        for (int i = 0; i < listaDeJogadores.size(); i++) {
            media = media + listaDeJogadores.get(i).getForca();
        }
        media = media/19;
        int saida = (int) Math.round(media);
        return saida;
    }
    
    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Tecnico getTecnico() {
        return tecnico;
    }

    public void setTecnico(Tecnico tecnico) {
        this.tecnico = tecnico;
    }

    public ArrayList<Jogador> getListaDeJogadores() {
        return listaDeJogadores;
    }

    public void addListaDeJogadores(Jogador jogador) {
        listaDeJogadores.add(jogador);
    }

    public ArrayList<Jogador> getListaDeTitulares() {
        return listaDeTitulares;
    }

    public void addListaDeTitulares(Jogador jogador) {
        listaDeTitulares.add(jogador);
    }

    public ArrayList<Jogador> getListaDeReservas() {
        return listaDeReservas;
    }

    public void addListaDeReservas(Jogador jogador) {
        listaDeReservas.add(jogador);
    }

    public Double getDinheiroEmCaixa() {
        return dinheiroEmCaixa;
    }

    public void setDinheiroEmCaixa(Double dinheiroEmCaixa) {
        this.dinheiroEmCaixa = dinheiroEmCaixa;
    }

    public int getVitoria() {
        return vitoria;
    }

    public void setVitoria(int vitoria) {
        this.vitoria = vitoria;
    }

    public int getDerrota() {
        return derrota;
    }

    public void setDerrota(int derrota) {
        this.derrota = derrota;
    }

    public int getEmpate() {
        return empate;
    }

    public void setEmpate(int empate) {
        this.empate = empate;
    }

    public Clube getClubeQueEnfrenta() {
        return clubeQueEnfrenta;
    }

    public void setClubeQueEnfrenta(Clube clube) {
         this.clubeQueEnfrenta = clube;
         clube.clubeQueEnfrenta = this;
      }

    public int getForcaMedia() {
        return forcaMedia;
    }

    public void setForcaMedia(int forcaMedia) {
        this.forcaMedia = forcaMedia;
    }

    public int getPontos() {
        return pontos;
    }

    public void setPontos(int pontos) {
        this.pontos = pontos;
    }

    public ArrayList<Jogador> getListaDeJogadoresTitularesDaPartida() {
        return listaDeJogadoresTitularesDaPartida;
    }

    public ArrayList<Jogador> getListaDeJogadoresReservaDaPartida() {
        return listaDeJogadoresReservaDaPartida;
    }
    
}
